package es.geoorge.hundirlaflota;

import android.content.Context;
import android.media.AudioManager;
import android.media.SoundPool;

/**
 * La clase sound manager sera la encargada de ocuparse del audio utilizado en las actividades del juego.
 * @author georthik
 *
 */
public class SoundManager {

	private Context pContext;
	private SoundPool sndPool;
	private float rate = 1.0f;
	private float leftVolume = 1.0f;
	private float rightVolume = 1.0f;
	
	
	/**
	 * El constructor recibe el contexto de la actividad y establece el volumen del audio.
	 * @param appContext
	 */
	public SoundManager(Context appContext)
	{
	  sndPool = new SoundPool(16, AudioManager.STREAM_MUSIC, 100);
	  pContext = appContext;
	}

	/**
	 * Este metodo recibe el id de un recurso de audio y lo carga para su posterior uso.
	 * @param idSonido
	 * @return
	 */
	public int load(int idSonido)
	{
		return sndPool.load(pContext, idSonido, 1);
	}

	/**
	 * Este metodo es el encargado de reproducir el recurso de audio cuyo id recibe.
	 * @param idSonido
	 */
	public void play(int idSonido)
	{
		sndPool.play(idSonido, leftVolume, rightVolume, 1, 0, rate); 	
	}
	

	/**
	 * libera los recursos de audio.
	 */
	public void unloadAll()
	{
		sndPool.release();		
	}
}
